﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using AccesoDatos.Objetos;
using AccesoDatos.Manejador;

namespace Autorizacion_facturas_caja.DiasInhabiles
{
    public partial class frmDiasInhabiles_Consulta : Form
    {
        
        Manejador_Dias_Inhabiles MDI = new Manejador_Dias_Inhabiles();
        objDiasInhabiles obj = new objDiasInhabiles();

        #region FUNCIONES
        public frmDiasInhabiles_Consulta()
        {
            InitializeComponent();
            btnReporte.Visible = false;
            fecha();
        }

        private void fecha()
        {
            DateTime Fecha_Hoy = DateTime.Today;

            Fecha_Hoy = Fecha_Hoy.AddDays(-15);
            dTPInicio.Text = Fecha_Hoy.ToShortDateString();
        }

        private void propiedadesColumnas()
        {
            this.dataGridView1.RowHeadersVisible = false;
            this.dataGridView1.Columns["Fecha_Dia_Inhabil"].HeaderText = "FECHA INHÁBIL";
            this.dataGridView1.Columns["Descripcion"].HeaderText = "DESCRIPCIÓN";
            this.dataGridView1.Columns["Descripcion"].Width = 308;
        }

        private void buscar()
        {
            if (cmbActiva.Text != "")
            {
                obj.Fecha_Inicio = dTPInicio.Value;
                obj.Fecha_Fin = dTPFin.Value;
                obj.Activa = cmbActiva.Text;
                dataGridView1.DataSource = MDI.ConsultaDiasInhabiles(obj.Fecha_Inicio, obj.Fecha_Fin, obj.Activa);
                propiedadesColumnas();
                btnReporte.Visible = true;
            }
            else
            {
                MessageBox.Show("FALTARON ATRIBUTOS POR SELECCIONAR", "ALERTA");
            }
        }
        #endregion

        #region BOTONES
        private void btnReporte_Click(object sender, EventArgs e)
        {
            frmDiasInhabiles_Reporte fdir = new frmDiasInhabiles_Reporte(obj);
            fdir.ShowDialog();
        }

        private void brnSalir_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void btnAgregar_Click(object sender, EventArgs e)
        {
            frmDiasInhabiles_Alta fda = new frmDiasInhabiles_Alta();
            fda.ShowDialog();
        }

        private void btnBuscar_Click(object sender, EventArgs e)
        {
            buscar();
        }
        #endregion

        #region  EVENTOS
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

            if (e.ColumnIndex >= 0 && e.RowIndex >= 0 && obj.Activa == "ACTIVAS")
            {
                obj.Fecha_Dia_Inhabil = Convert.ToDateTime(dataGridView1[0, e.RowIndex].Value);
                obj.Descripcion = dataGridView1[1, e.RowIndex].Value.ToString();
                frmDiasInhabiles_Cancelar fdic = new frmDiasInhabiles_Cancelar(obj);
                fdic.ShowDialog();
                buscar();
            }
        }

        private void frmDiasInhabiles_Consulta_Load(object sender, EventArgs e)
        {
            toolTip1.SetToolTip(btnBuscar, "BUSCAR");
            toolTip1.SetToolTip(btnAgregar, "AGREGAR");
            toolTip1.SetToolTip(brnSalir, "SALIR");
            toolTip1.SetToolTip(btnReporte, "REPORTE");
        }

        private void dTPInicio_ValueChanged(object sender, EventArgs e)
        {
            if (dTPInicio.Value > dTPFin.Value)
            {
                dTPInicio.Value = DateTime.Today;
                MessageBox.Show("FECHA INCORRECTA", "ALERTA");
            }
        }

        private void dTPFin_ValueChanged(object sender, EventArgs e)
        {
            if (dTPInicio.Value > dTPFin.Value)
            {
                dTPFin.Value = DateTime.Today;
                MessageBox.Show("FECHA INCORRECTA", "ALERTA");
            }
        }
        #endregion 
    }
}
